package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.vo.ProjectSelect;

import java.util.List;

/**
 * 通用公共方法Service接口
 *
 * @author cleaningcloud
 * @date 2024-10-17
 */
public interface PublicCommonService {


    /**
     * 选择项目岗位
     *
     * @param level 层级  1 项目 2 组别 3 岗位
     * @return
     */
    List<ProjectSelect> selectedProjectJob(int level);

    /**
     * 选择项目 小组 人员
     *
     * @return
     */
    List<ProjectSelect> selectedProjectGroupStaff();


    /**
     * 根据项目id查询项目岗位及人员配置
     *
     * @param projectId
     * @return
     */
    List<ProjectSelect> selectJobStaffByProjectId(Long projectId);

    /**
     * 根据项目id查询项目小组及人员配置
     *
     * @param projectId
     * @return
     */
    List<ProjectSelect> selectGroupStaffByProjectId(Long projectId, Long isMasterDuits);


    /**
     * 员工离职 拉入黑名单 项目解绑
     *
     * @param staffId   员工id
     * @param type      类型
     * @param projectId 项目id
     */
    void staffOptions(Long staffId, Integer type, Long projectId, Long projectPostId);


}
